It is well known in the wireless communication arts to download and display documents from a mail server using an attachment viewer application on a mobile communication device, such as a Personal Digital Assistant (PDA) or smart phone, where the documents are received as attachments to email messages. Each attachment is provided with a filename and is linked to an email message in a manner that is well known in the art. Often, a single email message may contain multiple attachments. It is also known in the art to download and view documents from a web server using a mobile device browser, or from other sources (e.g. calendar application, instant messenger (IM), etc.) However, there are differences in how the attachment viewer functions to present such documents on the mobile communication device depending on the sources of such documents.
For example, when downloading documents from a mail server it is known to send a request for ‘chunks’ of document data from an attachment server along with an XML command descriptor string, and to receive from the server successive binary chunks of document data along with an XML response string. By way of contrast, a mobile device attachment viewer browser plug-in does not issue requests for ‘chunks’ of document data, and receives a stream of document data from the server without any accompanying XML string.
Also, document data is downloaded to the attachment viewer for email attachments in constant, relatively small, chunk sizes (e.g. 16 KB) for documents and images (e.g. 64 KB), such that attachments always have the same number of data chunks for a specified chunk size, which enables a series of display features (e.g. hyperlink jump in a document, random worksheet selection, text server find, etc.), and results in quick storing and processing of the small chunk sizes. On the other hand, the attachment viewer browser plug-in receives a stream of document data that is typically limited to a larger chunk size (e.g. up to 256 Kb), resulting in a truncated version of the entire document. Partial parsing and loading is used in this case to speed up data parsing and display.
Furthermore, the attachment viewer for emails can be characterized by a persistence model that allowing saving binary data chunks and the information received in the attachment server XML responses, thereby minimizing the need for additional document requests in the event the same attachment is subsequently viewed again. According to this persistence model, the binary data chunks may be compressed (e.g. to approx. 30% of the original size) and can be backed up and restored. On the other hand, the attachment viewer for the browser does not store any binary document data since the received stream of data chunks is cached by the browser (e.g. without any compression or any XML response information from the server).